Data structures for storing and manipulating longitudinal data and corresponding novel computer engines and methods of use thereof

ABSTRACT

In some embodiments, the present disclosure provides for an exemplary computer-implemented system that may include a longitudinal data engine, including: a processor and specialized index generation software to generate: an index data structure for a respective event type associated with each respective subject or object; where each respective index data structure is a respective event type-specific data schema, defining how to store events of a particular event type to form longitudinal data of each respective subject or object; an ontology data structure that is configured to describe one or more properties of a respective event of a respective subject or object; and longitudinal data extraction software to extract a respective longitudinal data for a plurality of index data structures and a plurality of ontology data structures associated with a plurality of subjects or objects.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/454,639, filed Jun. 27, 2019, which claims benefit of U.S.provisional patent application Ser. No. 62/690,647, filed Jun. 27, 2018,which are herein incorporated by reference for all purposes.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever. The following notice applies to the software and dataas described below and in drawings that form a part of this document:Copyright, MDClone Ltd., All Rights Reserved.

BACKGROUND

As detailed herein, typically, electronic data records on a populationof real individuals may have one or personal identifying attributes(identification identifiers), such as, but not limited to, names,birthdays, ages, addresses, zip codes, social security numbers; phones,etc. For example, a cable company may track records of personal viewingpreferences together personal identifying information of its subscribers(identification identifiers). In another example, an internet companymay track internet activity of its users together with personalidentifying information. For example, a typical source electronicmedical record (EMR) data object is a collection of electronic healthinformation about an individual or a population of individuals. Atypical source EMR data object includes record(s) in digital format thatis/are capable of being shared across different healthcare settings. Atypical source EMR data object may include record(s) withcategorical/discrete/qualitative and/or quantitative data which arerepresentative of individual identifiable information, individualhealth/medical information, doctors visit information, prescriptions,service providers information (e.g., MRI provider, etc.), test resultsinformation (e.g., numerical values), and other similarly suitableinformation.

SUMMARY OF THE DISCLOSURE

In some embodiments, the present disclosure provides for an exemplarycomputer-implemented system that may include at least the followingcomponents: at least one longitudinal data engine, including: at leastone processor; specialized index generation software; where, whenexecuting the specialized index generation software, the at least oneprocessor at least generates: i) at least one index data structure for arespective event type associated with each respective subject or object;where each respective index data structure is a respective eventtype-specific data schema, defining how to store events of a particularevent type to form longitudinal data of each respective subject orobject; ii) at least one ontology data structure that is configured todescribe one or more properties of a respective event of a respectivesubject or object; and longitudinal data extraction software; where,when executing the longitudinal data extraction software, the at leastone processor extract a respective longitudinal data for a plurality ofindex data structures and a plurality of ontology data structuresassociated with a plurality of subjects or objects, by at least: i)receiving at least one electronic query that at least identifies: 1) oneof more characteristics of the particular population of subjects orobjects, and 2) at least one particular event of at least one particularevent type; ii) extracting, based on the at least one electronic query,a plurality of population-specific index data structures of theparticular population of subjects or objects; iii) searching theplurality of population-specific index data structures of the particularpopulation of subjects or objects to identify at least one ontologyassociated with the at least one particular event of each particularsubject or object of the particular population of subjects or objects toform a plurality of longitudinal-personalized data extracts of the atleast one particular event of the particular population of subjects orobjects; and iv) generating at least one interactive chronologicaltimeline for each subject or object of the particular population ofsubjects or objects based at least in part on the plurality oflongitudinal-personalized data extracts of the at least one particularevent of the particular population of subjects or objects.

In some embodiments, the present disclosure provides for an exemplarycomputer-implemented method that may include at least the following:generating, by at least one processor, at least: i) at least one indexdata structure for a respective event type associated with eachrespective subject or object; where each respective index data structureis a respective event type-specific data schema, defining how to storeevents of a particular event type to form longitudinal data of eachrespective subject or object; ii) at least one ontology data structurethat is configured to describe one or more properties of a respectiveevent of a respective subject or object; and extracting, by at least oneprocessor, a respective longitudinal data for a plurality of index datastructures and a plurality of ontology data structures associated with aplurality of subjects or objects, by at least: i) receiving at least oneelectronic query that at least identifies: 1) one of morecharacteristics of the particular population of subjects or objects, and2) at least one particular event of at least one particular event type;ii) extracting, based on the at least one electronic query, a pluralityof population-specific index data structures of the particularpopulation of subjects or objects; iii) searching the plurality ofpopulation-specific index data structures of the particular populationof subjects or objects to identify at least one ontology associated withthe at least one particular event of each particular subject or objectof the particular population of subjects or objects to form a pluralityof longitudinal-personalized data extracts of the at least oneparticular event of the particular population of subjects or objects;and iv) generating at least one interactive chronological timeline foreach subject or object of the particular population of subjects orobjects based at least in part on the plurality oflongitudinal-personalized data extracts of the at least one particularevent of the particular population of subjects or objects.

In some embodiments, the at least one index data structure is a cohortindex data structure.

In some embodiments, when executing the specialized index generationsoftware, the at least one processor further generates the at least oneindex data structure by utilizing structure hierarchical data elementsof a hierarchical data format.

In some embodiments, the at least one ontology data structure is nestedwithin the at least one index data structure. In some embodiments, eachproperty of a plurality of properties of a particular ontology datastructure of the respective event are separated by a pre-determineddelineator.

In some embodiments, when executing the longitudinal data extractionsoftware, the at least one processor further distributes the pluralityof population-specific index data structures of the particularpopulation of subjects or objects into a plurality of searching clusternodes for searching to identify the at least one ontology associatedwith the at least one particular event of each particular subject orobject of the particular population of subjects or objects to form theplurality of longitudinal-personalized data extracts of the at least oneparticular event.

In some embodiments, where, when executing the longitudinal dataextraction software, the at least one processor further generates the atleast one interactive chronological timeline for each subject or objectof the particular population of subjects or objects based on theplurality of longitudinal-personalized data extracts of the at least oneparticular event of the particular population of subjects or objects andat least one reference event.

In some embodiments, the at least one electronic query furtheridentifies the at least one reference event; and a date of the at leastone reference event defines a reference date for the extracting, basedon the at least one electronic query, the plurality ofpopulation-specific index data structures of the particular populationof subjects or objects.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present disclosure, briefly summarized above anddiscussed in greater detail below, can be understood by reference to theillustrative embodiments of the disclosure depicted in the appendeddrawings. It is to be noted, however, that the appended drawingsillustrate only typical embodiments of this disclosure and are thereforenot to be considered limiting of its scope, for the disclosure may admitto other equally effective embodiments.

FIGS. 1-5 are representative of some exemplary aspects of the presentdisclosure in accordance with at least some principles of at least someembodiments of the present disclosure.

To facilitate understanding, identical reference numerals have beenused, where possible, to designate identical elements that are common tothe figures. The figures are not drawn to scale and may be simplifiedfor clarity. It is contemplated that elements and features of oneembodiment may be beneficially incorporated in other embodiments withoutfurther recitation.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Among those benefits and improvements that have been disclosed, otherobjects and advantages of this disclosure can become apparent from thefollowing description taken in conjunction with the accompanyingfigures. Detailed embodiments of the present disclosure are disclosedherein; however, it is to be understood that the disclosed embodimentsare merely illustrative of the disclosure that may be embodied invarious forms. In addition, each of the examples given in connectionwith the various embodiments of the present disclosure is intended to beillustrative, and not restrictive.

Throughout the specification, the following terms take the meaningsexplicitly associated herein, unless the context clearly dictatesotherwise. The phrases “in one embodiment” and “in some embodiments” asused herein do not necessarily refer to the same embodiment(s), thoughit may. Furthermore, the phrases “in another embodiment” and “in someother embodiments” as used herein do not necessarily refer to adifferent embodiment, although it may. Thus, as described below, variousembodiments of the disclosure may be readily combined, without departingfrom the scope or spirit of the disclosure.

In addition, as used herein, the term “based on” is not exclusive andallows for being based on additional factors not described, unless thecontext clearly dictates otherwise. In addition, throughout thespecification, the meaning of “a,” “an,” and “the” include pluralreferences. The meaning of “in” includes “in” and “on.”

It is understood that at least one aspect/functionality of variousembodiments described herein can be performed in real-time and/ordynamically. As used herein, the term “real-time” is directed to anevent/action that can occur instantaneously or almost instantaneously intime when another event/action has occurred (e.g., less than 1 seconddifference between sequential events/actions).

As used herein, the term “dynamic(ly)” means that events and/or actionscan be triggered and/or occur without any human intervention.

As used herein, the term “computer engine” identifies at least onesoftware component and/or a combination of at least one softwarecomponent and at least one hardware component which aredesigned/programmed/configured to manage/control other software and/orhardware components (such as the libraries, software development kits(SDKs), objects, etc.).

In some embodiments, events and/or actions in accordance with thepresent disclosure can be in real-time and/or based on a predeterminedperiodicity of at least one of: nanosecond, several nanoseconds,millisecond, several milliseconds, second, several seconds, minute,several minutes, hourly, etc.

In some embodiments, the inventive adaptive self-trained computerengines with associated devices may be configured to operate in thedistributed network environment, communicating over a suitable datacommunication network (e.g., the Internet, etc.) and utilizing at leastone suitable data communication protocol (e.g., IPX/SPX, X.25, AX.25,AppleTalk™, TCP/IP (e.g., HTTP), etc.). Of note, the embodimentsdescribed herein may, of course, be implemented using any appropriatehardware and/or computing software languages. In this regard, those ofordinary skill in the art are well versed in the type of computerhardware that may be used, the type of computer programming techniquesthat may be used (e.g., object oriented programming), and the type ofcomputer programming languages that may be used (e.g., C++, Basic, AJAX,Javascript). The aforementioned examples are, of course, illustrativeand not restrictive.

Examples of hardware elements may include processors, microprocessors,circuits, circuit elements (e.g., transistors, resistors, capacitors,inductors, and so forth), integrated circuits, application specificintegrated circuits (ASIC), programmable logic devices (PLD), digitalsignal processors (DSP), field programmable gate array (FPGA), logicgates, registers, semiconductor device, chips, microchips, chip sets,and so forth. In some embodiments, the one or more processors may beimplemented as a Complex Instruction Set Computer (CISC) or ReducedInstruction Set Computer (RISC) processors; x86 instruction setcompatible processors, multi-core, or any other microprocessor orcentral processing unit (CPU). In various implementations, the one ormore processors may be dual-core processor(s), dual-core mobileprocessor(s), and so forth.

Examples of software may include software components, programs,applications, computer programs, application programs, system programs,machine programs, operating system software, middleware, firmware,software modules, routines, subroutines, functions, methods, procedures,software interfaces, application program interfaces (API), instructionsets, computing code, computer code, code segments, computer codesegments, words, values, symbols, or any combination thereof.Determining whether an embodiment is implemented using hardware elementsand/or software elements may vary in accordance with any number offactors, such as desired computational rate, power levels, heattolerances, processing cycle budget, input data rates, output datarates, memory resources, data bus speeds and other design or performanceconstraints.

One or more aspects of at least one embodiment may be implemented byrepresentative instructions stored on a machine-readable medium whichrepresents various logic within the processor, which when read by amachine causes the machine to fabricate logic to perform the techniquesdescribed herein. Such representations, known as “IP cores” may bestored on a tangible, machine readable medium and supplied to variouscustomers or manufacturing facilities to load into the fabricationmachines that actually make the logic or processor.

In one example implementation, a multi-processor system may include aplurality of processor chips each of which includes at least one I/Ocomponent. Each of the processor chips may also include a voltageregulation circuit configured to regulate a voltage of one or more ofthe processor chips. In some embodiments, the voltage regulation circuitof each of the processor chips may provide one or more voltage domainsof the respective processor chip. In some embodiments, themulti-processor system may further include one or more additionalelectronic components, e.g., inductors, as part of the package. In someembodiments, the multi-processor system may include at least 10,000processor chips. In some embodiments, a density of the processor chipsmay be greater than 1,000 chips per cubic meter. In some embodiments, alatency of the multi-processor system, having more than 1,000 processorchips, may be less than 200 nanoseconds (ns).

In one example implementation, a multi-processor system may include aninter-processor interconnect (IPI) and a plurality of processor chips.The processor chips are configured to communicate data to one anotherthrough the IPI. Each of the processor chips may include one or morecores and one or more level 1 (L1) caches. Each of the L1 caches may beassociated with a respective core through a respective core-cachebandwidth. Each of the processor chips may also include at least onememory controller and one or more local memory devices. Each of thelocal memory devices may be associated with the at least one memorycontroller through a respective local memory bandwidth. Each of theprocessor chips may further include an on-chip interconnect (OCI) thatis associated with the one or more cores and the at least one memorycontroller of that processor chip. The OCI is also associated with theIPI of the multi-processor system. The association between the OCI andthe plurality of cores of that processor chip is through a bandwidththat is greater than 50% of an aggregate core bandwidth, which isapproximately the sum of each core-cache bandwidth of that processorchip. The association between the OCI and the at least one memorycontroller of that processor chip is through a bandwidth that is greaterthan 50% of an aggregate memory bandwidth, which is approximately thesum of each local memory bandwidth of that processor chip. Theassociation between the OCI and the IPI of the multi-processor system isthrough an injection bandwidth. In some embodiment, the injectionbandwidth is greater than 50% of the aggregate core bandwidth of thatprocessor chip. In some embodiment, the injection bandwidth is greaterthan 50% of a sum of the aggregate core bandwidth and the aggregatememory bandwidth of that processor chip.

In some embodiments, a plurality of concurrent users can be, but is notlimited to, at least 100 (e.g., but not limited to, 100-999), at least1,000 (e.g., but not limited to, 1,000-9,999), at least 10,000 (e.g.,but not limited to, 10,000-99,999), at least 100,000 (e.g., but notlimited to, 100,000-999,999), at least 1,000,000 (e.g., but not limitedto, 1,000,000-9,999,999), at least 10,000,000 (e.g., but not limited to,10,000,000-99,999,999), at least 100,000,000 (e.g., but not limited to,100,000,000-999,999,999), at least 1,000,000,000 (e.g., but not limitedto, 1,000,000,000-10,000,000,000).

As referenced herein, the terms “personal event,” “patient event,” “userevent,” “patient event of interest,” and “user event of interest” areinterchangeably used and identify a particular life event of anindividual. In some embodiments, the particular life event may behealthcare-related (e.g., doctor visit). In some embodiments, theparticular life event may be non-healthcare-related. For example, anexemplary user event may be any one of the following, but not limitedto: a medical procedure, an image (e.g., X-ray or MRI image), a drug, aprescription, a laboratory result, etc.

For example, a typical source EMR dataset can have at least 1,000 to1,000,000 rows and at least 50 to 1,000 columns. For example, a typicalsource EMR dataset can have at least 10,000 to 1,000,000 rows and atleast 100 to 2,000 columns. For example, a typical source EMR datasetcan have at least 1,000 to 10,000,000 rows and at least 50 to 3,000columns. For example, a typical source EMR dataset can have at least10,000 to 1,000,000,000 rows and at least 50 to 3,000 columns. Forexample, a typical source EMR dataset can have at least 1,000 rows andat least 50 columns. For example, a typical source EMR dataset can haveat least 10,000 rows and at least 100 columns. For example, a typicalsource EMR dataset can have at least 1,000,000 rows and at least 100columns. For example, a typical source EMR dataset can have at least1,000 rows and at least 1,000 columns. For example, a typical source EMRdataset can have at least 10,000 rows and at least 2,000 columns. Forexample, a typical source EMR dataset can have at least 1,000,000 rowsand at least 2,000 columns.

In some embodiments, the present disclosure provides for variouscomputer engines that may be configured/programmed to generate and/ormaintain database(s) for storing and manipulating longitudinal data.Typically, the term “longitudinal data” may be referred to as paneldata, allowing to track the same sample (e.g., a population sample) atdifferent points in time, by allowing the measurement of the duration ofevents, and record the timing of various events. For example, in case ofclinical data, an exemplary sample may include individuals, events,repeated cross-sectional data, long-term data, and other similar type ofdata. For example, longitudinal data can be the weight of a person whichmay fluctuate over a lifetime. Using this longitudinal data, a histogramof a person's weight over time displays periods of being underweight,normal weight, and overweight. Yet another example, suppose theunemployment rate remained high for a long period of time, one may uselongitudinal data to determine if the same group of individuals stayshealthy over the entire period or if different groups of individualsmove in and out of the healthy state over the time period.

Yet another example, an exemplary inventive longitudinal data enginewith an associated exemplary inventive longitudinal database may beconfigured, for example without limitation, to provide responses toinquiries such as: “For a person in the intensive care unit (ICU) withhypoalbuminemia situation in the 48 hours prior to hospitalization whattype of drug would reduce the probability for hypoglycemia event(s) inthe next 72 hours?” Typically, an answer to such single question wouldrequire numerous database inquiries and programming one or morespecialized stored procedures using a standard relational databaseapproach. For example, typically, the standard relational databaseapproach needs to define primary keys and foreign keys. In turn,typically, when records are created in a relational database for severalsequential events in a patient life, such events would be recorded inrecords among numerous tables and rows. Further, typically, such tableswould have data for numerous patients. Typically, complex querying codewould need to be programmed (e.g., utilizing numerous SQL commands) toisolate sequential events of a single patient which is typicallyinefficient (time consuming) and, in many cases, not practical (e.g.,requiring specialized programming resources).

In some embodiments, the present disclosure provides for an exemplaryinventive longitudinal data engine that is associated with an exemplaryinventive two-stage data structure arrangement. In some embodiments, theexemplary inventive longitudinal data engine of the present disclosureis configured to include at least:

-   -   1) a specialized index structure generation module that My be        configured to utilize data structures such as, but without        limitation, a cohort index that is a tabular structure        configured to allow to identify a desired population (e.g., a        population of living subjects (e.g., people (e.g., patients),        animals, etc.), a population of objects (e.g., cars, factories,        etc.); and    -   2) a specialized extraction framework module that may utilize a        time-based structure that may be configured to allow to extract        temporal data (sequential events data) for a selected        population.

In some embodiments, the associated exemplary inventive two-stage datastoring schema may be designed to include at least:

-   -   1) a first structure of a corresponding specialized index        structure (e.g., cohort index structure), and    -   2) a second structure that stores corresponding ontology for        each subject or object.

While it is understood that the present disclosure should not be limitedto specific examples/embodiments detailed herein, for illustrativepurposes only, the exemplary inventive longitudinal data engine with theassociated exemplary inventive two-stage data storing schema may befurther illustrated in relation to healthcare, clinical data for apopulation of patients.

In some embodiments, in accordance with the associated exemplaryinventive two-stage data storing schema, the exemplary clinical data forthe exemplary population of patients is duplicated in both of thestructures (i.e., the corresponding cohort index structure andontologies-storing structure) with different internal representation. Insome embodiments, the corresponding cohort index structure is designedas an event-based tabular structure where each event type is representedby a particular data schema (e.g., table). For example, an exemplaryevent type table may include, for every patient, 1) required field(s)such as a personal unique identifier (e.g., “Patient ID” of Table 1) anda timestamp (e.g., “Time of intake” of Table 1), and 2) one or moreother relevant data property(ies), as, for example, without limitation,properties illustratively identified in Table 1 for the event type ofmedication intake.

TABLE 1 Field Data sample PatientID 12336678 Time of intake 1/3/1998Medication Name Aspirin Dosage 100 Mg Manufacturer Teva

In some embodiments, the exemplary inventive ontologies-storingstructure includes one or more ontologies that can describe one or morerespective properties of the particular event type. As illustrated inTable 2, for example, a field “medication code” may be followed by afield of “medication code ontology” containing one or more descriptiveontological variables separated by one or more particular delineators(e.g., symbols (e.g., “#”), characters, etc.).

TABLE 2 Field Data sample PatientID* 12336678 Time of intake* 1/3/1998Medication Name Aspirin Medication Code 2334519 Medication Code NSAID #Pain Relief # Ontology acetylsalicylic acid # Bayer Aspirin Dosage 100Mg Manufacturer Teva

In some embodiments, similar data structures having at least the cohortindex structure and the ontologies-storing structure may be designed forevery type of patient events (e.g., procedures, encounters, surgeries,imaging, diagnostics, demographics, etc.)

In some embodiments, the exemplary inventive longitudinal data engine isconfigured based on an exemplary inventive extraction framework that canbe constructed from a collection of data structures. For example, theexemplary inventive longitudinal data engine may include a separate datastructure generated for each object/subject (e.g., every patient). Insome embodiments, the exemplary inventive separate data structures canbe configured to hold, for each object/subject (e.g., every patient),events sorted by time so as to allow to cause the exemplary inventivelongitudinal data engine to generate visual representation thatlongitudinally tracks events over a period of time as, for example,without limitation, illustrated in FIG. 2. Referring to FIG. 2, theexemplary inventive separate data structures can be configured to storefor every event at least:

-   -   1) a timestamp,    -   2) every property value,    -   3) time period(s) passed between similar event(s) (e.g., blood        tests), and    -   4) time period(s) passed between similar ontology properties        (e.g., medications).

In some embodiments, the exemplary inventive separate data structurescan be generated utilizing structure hierarchical data elements such as,without limitation, XML, JSON, and similar others. Table 3 provides anexemplary inventive separate data structure designed in XML format.

TABLE 3 <Patient ID=”1234” BirthDate=”1963-08-15”> <EventType=”BloodPressure” TimeOfEvent=”2007-08-15 11:23:11”HourToNext=”8760”> <SystolicPressure>122</SystolicPressure><DiastolicPressure>83<DiastolicPressure/> <Event>  <EventType=”BloodPressure” TimeOfEvent=”2008-08-15  11:23:11” HourToNext=””><SystolicPressure>126</SystolicPressure><DiastolicPressure>89<DiastolicPressure/>  <Event> <EventType=”DrugIntake” TimeOfEvent=”2009-08-15 11:23:11” HourToNext=”24”><DrugCode HourToNext=”24”>Toprol-XL</DrugCode> <Ontologies> <DrugTypeHourToNext=”24”>BetaBlocker</DrugType> <IntakeHourToNext=”24”>Pill</Intake>  </Ontologies> <PrescriberHourToNext=”24”>Dr Jon Smith</Prescriber> </Event> <EventType=”DrugIntake” TimeOfEvent=”2009-08-16 11:23:11” HourToNext=””><DrugCode HourToNext=””>Toprol-XL</DrugCode> <Ontologies> <DrugTypeHourToNext=”24”>BetaBlocker</DrugType> <IntakeHourToNext=”24”>Pill</Intake>  </Ontologies> <PrescriberHourToNext=””>Dr Jon Smith </Prescriber> </Event> <EventType=”DrugIntake” TimeOfEvent=”2009-08-17 11:23:11” HourToNext=””>DrugCode HourToNext=””>Atenolol</DrugCode> <Ontologies> <DrugTypeHourToNext=””>BetaBlocker</DrugType> <Intake HourToNext=””>Pill</Intake> </Ontologies> <Prescriber HourToNext=””>Dr Max Lincoln </Prescriber></Event> </Patient>

In some embodiments, the exemplary inventive longitudinal data engine isconfigured to extract longitudinal data (e.g., the longitudinal clinicaldata) from the associated exemplary inventive longitudinal database inseveral stages.

Exemplary First Stage

In some embodiments, at an exemplary first data extraction stage, theexemplary inventive longitudinal data engine is configured to receive alongitudinal query for one or more subjects and/or objects. Then, theexemplary inventive longitudinal data engine is configured to define,utilizing, for example without limitation, one or more SQL-likestatements, a population (e.g., relevant subject(s)/object(s)) (item 301of FIG. 3) and a cohort index structure, as illustrated in Table 3.

TABLE 3 Example 1 Select PatientsID from Patients WherePatient.Gender=′Female′ Example 2 SELECT p.‘birthdate‘, p.‘gender‘,p.‘race‘, p.‘internalpatientid‘, row_number( ) FROM ‘ev demographicsstatic‘ AS p WHERE p.‘gender‘ = ′male′ and p.‘birthdate‘ > ′2001-03-12′and p.‘race‘ = ′asian′

FIG. 4 is a snapshot of a computer screen that is configured to beutilized by a user to provide the exemplary inventive longitudinal dataengine with parameters to define the exemplary cohort (population) fromthe exemplary cohort index structure. For example, FIG. 4, shows how theuser may submit a query to extract from the exemplary inventive cohortindex structure a particular cohort (population) having at least one (1)ontological value of percutaneous transluminal coronary angioplasty(PTCA), and for every one of identified subjects (patients) to pick anage at which first PTCA occurred (e.g., between the age 0 and 120).

Exemplary Second Stage

In some embodiments, at an exemplary second data extraction stage, theexemplary inventive longitudinal data engine is configured to extracts,for example, without limitation, XML/JSON files of the relevantsubject(s)/object(s) from the exemplary inventive separate datastructure.

Exemplary Third Stage

In some embodiments, at an exemplary third data extraction stage, theexemplary inventive longitudinal data engine is configured to distributethe extracted XML/JSON files of the relevant subject(s)/object(s) into acluster of XML/JSON files (303) (searching cluster nodes), asillustrated in FIG. 3. For example, a cluster node that has received thecurrent lowest load would be designated to perform the processing job.

Exemplary Fourth Stage

In some embodiments, at an exemplary fourth data extraction stage, theexemplary inventive longitudinal data engine is configured to scan thecluster nodes of the extracted XML/JSON files of the relevantsubject(s)/object(s) to identify the desired longitudinal data by usingmethods such as, without limitation, XPath over XML or any othersimilarly suitable techniques. Then, the exemplary inventivelongitudinal data engine is configured to extract the identifiedlongitudinal data. For example, the exemplary inventive longitudinaldata engine is configured to pass every cluster node once on everysubject (e.g., patient) file in the defined cohort in order to identifypotential answer to any question.

In some embodiments, the exemplary inventive longitudinal data engine isconfigured to determine the continuity or the absence of any event relaybased on an accumulation of, for example, without limitation, thedistinct “HourToNext” data elements.

FIG. 5 illustrates a snapshot of an exemplary control interface that canallow the user to control how the exemplary inventive longitudinal dataengine would scan the cluster nodes. For example, via FIG. 5, the usercan set parameters that the exemplary inventive longitudinal data enginewould move a particular cluster node 5 days before and after the firstPTCA and look for ontology(ies) of ST elevation (STEMI) and non-STelevation (NSTEMI) myocardial infarction.

Exemplary Fifth Stage

In some embodiments, at an exemplary fifth data extraction stage, theexemplary inventive longitudinal data engine is configured toconsolidate the extracted longitudinal data for the cohort (population)to produce a respective output that may be used to generate interactivechronological timeline(s) for each subject or object.

As detailed herein, typically, electronic data records on a populationof real individuals may have one or personal identifying attributes(identification identifiers), such as, but not limited to, names,birthdays, ages, addresses, zip codes, social security numbers; phones,etc. For example, a cable company may track records of personal viewingpreferences together personal identifying information of its subscribers(identification identifiers). In another example, an internet companymay track internet activity of its users together with personalidentifying information. For example, a typical source electronicmedical record (EMR) data object is a collection of electronic healthinformation about an individual or a population of individuals. Atypical source EMR data object includes record(s) in digital format thatis/are capable of being shared across different healthcare settings. Atypical source EMR data object may include record(s) withcategorical/discrete/qualitative and/or quantitative data which arerepresentative of individual identifiable information, individualhealth/medical information, doctors visit information, prescriptions,service providers information (e.g., MRI provider, etc.), test resultsinformation (e.g., numerical values), and other similarly suitableinformation.

In some embodiments, the present disclosure provides for an exemplarycomputer-implemented system that may include at least the followingcomponents: at least one longitudinal data engine, including: at leastone processor; specialized index generation software; where, whenexecuting the specialized index generation software, the at least oneprocessor at least generates: i) at least one index data structure for arespective event type associated with each respective subject or object;where each respective index data structure is a respective eventtype-specific data schema, defining how to store events of a particularevent type to form longitudinal data of each respective subject orobject; ii) at least one ontology data structure that is configured todescribe one or more properties of a respective event of a respectivesubject or object; and longitudinal data extraction software; where,when executing the longitudinal data extraction software, the at leastone processor extract a respective longitudinal data for a plurality ofindex data structures and a plurality of ontology data structuresassociated with a plurality of subjects or objects, by at least: i)receiving at least one electronic query that at least identifies: 1) oneof more characteristics of the particular population of subjects orobjects, and 2) at least one particular event of at least one particularevent type; ii) extracting, based on the at least one electronic query,a plurality of population-specific index data structures of theparticular population of subjects or objects; iii) searching theplurality of population-specific index data structures of the particularpopulation of subjects or objects to identify at least one ontologyassociated with the at least one particular event of each particularsubject or object of the particular population of subjects or objects toform a plurality of longitudinal-personalized data extracts of the atleast one particular event of the particular population of subjects orobjects; and iv) generating at least one interactive chronologicaltimeline for each subject or object of the particular population ofsubjects or objects based at least in part on the plurality oflongitudinal-personalized data extracts of the at least one particularevent of the particular population of subjects or objects.

In some embodiments, the present disclosure provides for an exemplarycomputer-implemented method that may include at least the following:generating, by at least one processor, at least: i) at least one indexdata structure for a respective event type associated with eachrespective subject or object; where each respective index data structureis a respective event type-specific data schema, defining how to storeevents of a particular event type to form longitudinal data of eachrespective subject or object; ii) at least one ontology data structurethat is configured to describe one or more properties of a respectiveevent of a respective subject or object; and extracting, by at least oneprocessor, a respective longitudinal data for a plurality of index datastructures and a plurality of ontology data structures associated with aplurality of subjects or objects, by at least: i) receiving at least oneelectronic query that at least identifies: 1) one of morecharacteristics of the particular population of subjects or objects, and2) at least one particular event of at least one particular event type;ii) extracting, based on the at least one electronic query, a pluralityof population-specific index data structures of the particularpopulation of subjects or objects; iii) searching the plurality ofpopulation-specific index data structures of the particular populationof subjects or objects to identify at least one ontology associated withthe at least one particular event of each particular subject or objectof the particular population of subjects or objects to form a pluralityof longitudinal-personalized data extracts of the at least oneparticular event of the particular population of subjects or objects;and iv) generating at least one interactive chronological timeline foreach subject or object of the particular population of subjects orobjects based at least in part on the plurality oflongitudinal-personalized data extracts of the at least one particularevent of the particular population of subjects or objects.

In some embodiments, the at least one index data structure is a cohortindex data structure.

In some embodiments, when executing the specialized index generationsoftware, the at least one processor further generates the at least oneindex data structure by utilizing structure hierarchical data elementsof a hierarchical data format.

In some embodiments, the at least one ontology data structure is nestedwithin the at least one index data structure.

In some embodiments, each property of a plurality of properties of aparticular ontology data structure of the respective event are separatedby a pre-determined delineator.

In some embodiments, when executing the longitudinal data extractionsoftware, the at least one processor further distributes the pluralityof population-specific index data structures of the particularpopulation of subjects or objects into a plurality of searching clusternodes for searching to identify the at least one ontology associatedwith the at least one particular event of each particular subject orobject of the particular population of subjects or objects to form theplurality of longitudinal-personalized data extracts of the at least oneparticular event.

In some embodiments, where, when executing the longitudinal dataextraction software, the at least one processor further generates the atleast one interactive chronological timeline for each subject or objectof the particular population of subjects or objects based on theplurality of longitudinal-personalized data extracts of the at least oneparticular event of the particular population of subjects or objects andat least one reference event.

In some embodiments, the at least one electronic query furtheridentifies the at least one reference event; and a date of the at leastone reference event defines a reference date for the extracting, basedon the at least one electronic query, the plurality ofpopulation-specific index data structures of the particular populationof subjects or objects.

While a number of embodiments of the present disclosure have beendescribed, it is understood that these embodiments are illustrativeonly, and not restrictive, and that many modifications may becomeapparent to those of ordinary skill in the art. Further still, thevarious steps may be carried out in any desired order (and any desiredsteps may be added and/or any desired steps may be eliminated).

What we claim is:
 1. A system comprising: at least one longitudinal dataengine, comprising: at least one processor; specialized index generationsoftware; wherein, when executing the specialized index generationsoftware, the at least one processor at least generates: i) at least oneindex data structure for a respective event type associated with eachrespective subject or object; ii) at least one ontology data structurethat is configured to describe one or more properties of a respectiveevent of a respective subject or object; and longitudinal dataextraction software; wherein, when executing the longitudinal dataextraction software, the at least one processor extract a respectivelongitudinal data for a plurality of index data structures and aplurality of ontology data structures associated with a plurality ofsubjects or objects.